﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;

namespace ES.Interceptor
{
    public interface IMethodHook
    {
        void Initialize( MethodInfo origMethod, MethodInfo hookMethod, Object instance = null );
        void Hook();
        void UnHook();
        void InvokeOriginalMethod( params Object[] parameters );
        T InvokeOriginalMethod<T>( params Object[] parameters );
    }
}
